/*
 *  HumanPlayer.h
 *  RiskAI
 *
 */

#ifndef HUMANPLAYER_H_INCLUDED
#define HUMANPLAYER_H_INCLUDED

#include "Player.h"

class CHumanPlayer : public CPlayer
{
public:
	
	CHumanPlayer(int iIndex, CBoard* pxBoard);

	// virtual functions overridden in derived classes
	virtual int PickTerritory(std::vector<int> viAvailables);
	virtual int AssignTroops(int iNumTroops);
	virtual int MoveTroops(int iSourceIndex, int iDestinationIndex);
	virtual RiskAction DecideOnAction(std::vector<int> viViableAttackers);
	virtual int PickDefendingDie(int* aiAttackDice, int iTarget);
	virtual CFortification FortifyTroops(std::vector<int> viFortifiers);

private:

	int GetTerritory(std::vector<int> viChoices);
};

#endif // HUMANPLAYER_H_INCLUDED